Rozhazeni ikon na plose

Otázka od: Jan Šimecký

3. 12. 2002 16:19

Zdravim všechny ucastniky konference,

 

Jeden uzivatel meho programku si stezuje, ze při ukonceni rozhaze ikony.
Program si pri spusteni zmeni rozliseni a při ukoncovani je vrati zpet.
Vi někdo, jak mam zajistit, aby program ikony nerozhazoval?

 

Predem dekuji za vasi odpoved.

 

S pozdravem J.S.

Odpovedá: ing. Jan Fiala

3. 12. 2002 15:36

A proc menis rozliseni ? Je pro to nejaky vazny duvod ?
Pro zmene rozliseni se iony, ktere se nevejdou na plochu posunou na
volne misto, takze tomu asi nezabranis.

--
ing. Jan Fiala
mailto:jan.fiala@iol.cz

3.12.2002 Jan Šimecký:
> Jeden uzivatel meho programku si stezuje, ze při ukonceni rozhaze ikony.
> Program si pri spusteni zmeni rozliseni a při ukoncovani je vrati zpet.
> Vi někdo, jak mam zajistit, aby program ikony nerozhazoval?

Odpovedá: Petr Vones

3. 12. 2002 16:09

From: "Jan Šimecký" <jsimecky@zskuldova.cz>
> Jeden uzivatel meho programku si stezuje, ze při ukonceni rozhaze ikony.
> Program si pri spusteni zmeni rozliseni a při ukoncovani je vrati zpet.

To se ani nedivim, takovy program bych rozhodne nepouzival, protoze nechci aby
mi nekdo svevolne nastavoval nejake strasne rozliseni.

> Vi někdo, jak mam zajistit, aby program ikony nerozhazoval?

Nedelat takove veci jako menit rozliseni desktopu.

Petr Vones

Odpovedá: Jan Šimecký

3. 12. 2002 16:30


Tak jak mam program prizpusobit pro ruzne rozliseni?

S pozdravem J.S.[www.simecky.tk]

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
Behalf Of Petr Vones
Sent: Tuesday, December 03, 2002 3:24 PM
To: delphi-l@clexpert.cz
Subject: Re: Rozhazeni ikon na plose

From: "Jan Šimecký" <jsimecky@zskuldova.cz>
> Jeden uzivatel meho programku si stezuje, ze při ukonceni rozhaze
ikony.
> Program si pri spusteni zmeni rozliseni a při ukoncovani je vrati
zpet.

To se ani nedivim, takovy program bych rozhodne nepouzival, protoze
nechci aby
mi nekdo svevolne nastavoval nejake strasne rozliseni.

> Vi někdo, jak mam zajistit, aby program ikony nerozhazoval?

Nedelat takove veci jako menit rozliseni desktopu.

Petr Vones

Odpovedá: Jan Šimecký

3. 12. 2002 16:24

Ještě jeden dodatek,

Ma to vlaste prestirat, ze program jede FULL SCREEM
S pozdravem J.S.
-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
Behalf Of Jan Šimecký
Sent: Tuesday, December 03, 2002 3:04 PM
To: delphi-l@clexpert.cz
Subject: Rozhazeni ikon na plose

Zdravim všechny ucastniky konference,

 

Jeden uzivatel meho programku si stezuje, ze při ukonceni rozhaze ikony.
Program si pri spusteni zmeni rozliseni a při ukoncovani je vrati zpet.
Vi někdo, jak mam zajistit, aby program ikony nerozhazoval?

 
Predem dekuji za vasi odpoved.

 

S pozdravem J.S.

Odpovedá: Petr Vones

3. 12. 2002 17:42

From: "Jan Šimecký" <jsimecky@zskuldova.cz>
> Tak jak mam program prizpusobit pro ruzne rozliseni?

Nijak, aplikace prece musi pracovat v jakemkoli rozliseni a poctu monitoru.

Petr Vones

Odpovedá: Petr Vones

3. 12. 2002 17:45

From: "Jan Šimecký" <jsimecky@zskuldova.cz>
> Ještě jeden dodatek,
> Ma to vlaste prestirat, ze program jede FULL SCREEM

Pokud se jedna o nejakou grafickou aplikaci ktera nepouziva okna, menu apod
tak potom je vhodne pouzit DirectX.

Petr Vones

Odpovedá: Peter Ondras

3. 12. 2002 21:17

(* Pouzi tento kratky program. Vytvor novu aplikaciu, daj na form dva
button a prirad im udalosti onclick. Pozri si dobre komentar pri
procedure RestoreDefaultMode. Inak funckia SetFullscreenMode zmeni
rozlisenie obrazovky s tym, ze neprehadze ikony. Jej nazov je trochu
divny pretoze ju mam pouzitu v programe, kde skutocne simuluje
fullscreen. Mozes si ju samozrejme premenovat na nieco vystiznejsie,
pretoze s nou mozes spravit prakticky akekolvek rozlisenie pokial to
dovoli kombinacia graf.karta a monitor. Najlepsie je vsak menit (ak uz
teda menis, lebo inak je najlepsie nemenit) rozlisenie na 800x600x16.
Take rozlisenie podporuje drviva vacsina graf.kariet aj monitorov,
pricom farebnost programu nema okom vnimatelnu deformovanost.
*)
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    function SetFullscreenMode(const X, Y, Z: Word): Boolean;
    procedure RestoreDefaultMode;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.SetFullscreenMode(const X, Y, Z: Word): Boolean;
var DeviceMode : TDevMode;
begin
  with DeviceMode do
  begin
    dmSize:=SizeOf(DeviceMode);
    dmBitsPerPel:=Z;
    dmPelsWidth:=X;
    dmPelsHeight:=Y;
    dmFields:=DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT;
    Result:=ChangeDisplaySettings(DeviceMode,CDS_FULLSCREEN) =
DISP_CHANGE_SUCCESSFUL;
  end;
end;

procedure TForm1.RestoreDefaultMode;
(*
toto mi prave nejde, ale ma to byt pouzite takto, nemam vsak cas to
riesit
var T: TDevMode absolute 0;
*)

(*
nasledujuci riadok je nahradne riesenie, ktory nevrati sice originaly
stav z pohladu nastavenia monitoru (vrati len rozlisenie, ale
obraz je rozne zaobleny a pod. potom staci program ukoncit a cely
monitor sa vrati do normalu. Z toho mi vychadza, ze staci pri
ukoncovani aplikacie (resp. tesne pred ukoncenim) pouzit tuto proceduru
a ostanu mu aj ikony v pohode aj obraz bude vyzerat normalne
*)
var T : TDevMode;
begin
  ChangeDisplaySettings(T, CDS_FULLSCREEN);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  //zmeni rozlisenie na 640x480 HighColor 16bit
  SetFullScreenMode(640, 480, 16);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  //vrati povodny stav obrazovky
  RestoreDefaultMode;
end;

end.

Peter Ondras
peter.ondras@pse.sk
(+421) 0904 421 925

>: -----Original Message-----
>: From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]
On
>: Behalf Of ing. Jan Fiala
>: Sent: Tuesday, December 03, 2002 3:10 PM
>: To: delphi-l@clexpert.cz
>: Subject: Re: Rozhazeni ikon na plose
>:
>: A proc menis rozliseni ? Je pro to nejaky vazny duvod ?
>: Pro zmene rozliseni se iony, ktere se nevejdou na plochu posunou na
>: volne misto, takze tomu asi nezabranis.
>:
>: --
>: ing. Jan Fiala
>: mailto:jan.fiala@iol.cz
>:
>: 3.12.2002 Jan Šimecký:
>: > Jeden uzivatel meho programku si stezuje, ze při ukonceni rozhaze
>: ikony.
>: > Program si pri spusteni zmeni rozliseni a při ukoncovani je vrati
zpet.
>: > Vi někdo, jak mam zajistit, aby program ikony nerozhazoval?